package com.grad.why.studentsystem.mapper;

import com.grad.why.studentsystem.domain.Runtimecoursearrangeinfodetail;
import com.grad.why.studentsystem.domain.RuntimecoursearrangeinfodetailExample;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RuntimecoursearrangeinfodetailMapper {
    int countByExample(RuntimecoursearrangeinfodetailExample example);

    int deleteByExample(RuntimecoursearrangeinfodetailExample example);

    int deleteByPrimaryKey(Integer coursearrangeid);

    int insert(Runtimecoursearrangeinfodetail record);

    int insertSelective(Runtimecoursearrangeinfodetail record);

    List<Runtimecoursearrangeinfodetail> selectByExample(RuntimecoursearrangeinfodetailExample example);

    Runtimecoursearrangeinfodetail selectByPrimaryKey(Integer coursearrangeid);

    int updateByExampleSelective(@Param("record") Runtimecoursearrangeinfodetail record, @Param("example") RuntimecoursearrangeinfodetailExample example);

    int updateByExample(@Param("record") Runtimecoursearrangeinfodetail record, @Param("example") RuntimecoursearrangeinfodetailExample example);

    int updateByPrimaryKeySelective(Runtimecoursearrangeinfodetail record);

    int updateByPrimaryKey(Runtimecoursearrangeinfodetail record);

    //int checkCurrentCourseInfoExistByCourseArrangeId(@Param("coursearrangeid") Integer coursearrangeid);

    int checkCourseArrangeInfoExist(@Param("coursearrangeid") Integer coursearrangeid);

    int checkCurrentCourseInfoExistByCourseArrangeId(@Param("coursearrangeid") Integer coursearrangeid);

    void deleteRuntimeCourseArrangeInfoDetails();

    List<Runtimecoursearrangeinfodetail> getRuntimeStudentArrivedInfoList(@Param("offset") int offset,@Param("limit") int limit,@Param("sort") String sort,@Param("search") String search);

    long getRuntimeStudentArriveInfoListLength(@Param("search") String search);

    int checkCourseArrangeIdExist(@Param("courseArrangeId") Integer courseArrangeId);

    List<Runtimecoursearrangeinfodetail> getAllDetails();

    List<Runtimecoursearrangeinfodetail> getRuntimeStudentArriveInfoListByTeacherId(@Param("offset") int offset,@Param("limit") int limit, @Param("search") String search,@Param("tid") int tid);

    long getRuntimeStudentArriveInfoListLengthByTeacherId(@Param("search") String search,@Param("bindid") int bindid);
}